package cn.haixiang.basice.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class AjaxResult {//这个是创建一个异步操作结果工具类

    //操作是否成功
    public Boolean success;
    //操作提示语
    public String msg;

    //提供一个实例化本对象的方法，这样这样不管接口成功还是失败，都只需要创建一个实例
    //返回ajaxResult封装的对象这个是为了返回对象
    public static AjaxResult getAjaxResult(){
        return new AjaxResult();
    }

    public AjaxResult success(){//提示一个操作成功
        return AjaxResult.me().setSuccess(true).setMsg("操作成功");
    }
    public AjaxResult fail(){
        return AjaxResult.me().setSuccess(false).setMsg("操作失败");
    }
    public AjaxResult fail(String msg){
        return AjaxResult.me().setSuccess(false).setMsg(msg);
    }
    public static AjaxResult me(){
        return new AjaxResult();
    }

    public AjaxResult setSuccess(Boolean success){
        this.success=success;
        return this;
    }


    // 提供success的set方法，返回AjaxResul就可以链式调用了
    public AjaxResult setMsg(String msg){
        this.msg = msg;
        return this;

    }




}
